<?php
class Model_Main extends Model
{
	  private $table_news = 'news';
    private $table_categories = 'categories';
    private $table_tags = 'tags';
    private $table_tags_news = 'tags_news';

    /**
   * Получение списка новостей из бд
   *
   * @version 1.0
   * @author Bondarenko
   * @since 29.11.2012
   * @param $cat_id ИД категории 
   */
    public function get_list_news($cat_id)
    {	
   	   $where = "";
       $cat_id = intval($cat_id);
       if($cat_id > 0) { $where = " WHERE category_id = '$cat_id'"; } 		
       $sql = "SELECT * FROM $this->table_news".$where;
       $sql_id = $this->db->query($sql);
       while ($hash = $this->db->fetch_array($sql_id)) 
       {
            $res[] = $hash;
        }
       return $res;
    }

  /**
   * Получение списка новостей из бд по тегу
   *
   * @version 1.0
   * @author Bondarenko
   * @since 1.12.2012
   * @param $tag_id ИД категории 
   */
    public function get_list_news_by_tags($tag_id)
    { 
       $where = "";
       $tag_id = intval($tag_id);
       if($tag_id > 0) { $where = " INNER JOIN $this->table_tags_news t_n ON 
        t_n.tag_id = '$tag_id' AND n.news_id = t_n.news_id"; }

       $sql = "SELECT n.* FROM $this->table_news n".$where;
       $sql_id = $this->db->query($sql);
       while ($hash = $this->db->fetch_array($sql_id)) 
       {
            $res[] = $hash;
        }
      //dg($res);
       return $res;
    }

     /**
   * Получение списка новостей из бд по тегам
   *
   * @version 1.0
   * @author Bondarenko
   * @since 29.11.2012
   * @param $tag_id ИД категории 
   */
    public function get_list_tags()
    { 
       $sql = "SELECT * FROM $this->table_tags";
       $sql_id = $this->db->query($sql);
       while ($hash = $this->db->fetch_array($sql_id)) 
       {
            $res[] = $hash;
        }
       return $res;
    }

    /**
   * Получение списка категорий
   *
   * @version 1.0
   * @author Bondarenko
   * @since 29.11.2012 
   */
    public function get_list_categories()
    { 
       $item_id = intval($item_id);
       $sql = "SELECT cat.*, COUNT(n.news_id) AS count_news 
       			FROM $this->table_categories cat 
       			LEFT JOIN news n ON n.category_id = cat.cat_id GROUP BY cat.cat_id"; 
       $sql_id = $this->db->query($sql);
       while ($hash = $this->db->fetch_array($sql_id))
        {
            $res[] = $hash;
        }
       return $res;
    }

    /**
   * Получение одной новости из бд по ид
   *
   * @version 1.0
   * @author Bondarenko
   * @since 30.11.2012
   * @param $item_id  
   */
    public function get_news($item_id)
    { 
       $item_id = intval($item_id);
       $sql = "SELECT * FROM $this->table_news WHERE news_id = '$item_id'";
       $res = $this->db-> query_first($sql);
       return $res;
    }
}
?>